//
//  QSJPushUtil.swift
//  TestSwift
//
//  Created by Song on 2018/7/2.
//  Copyright © 2018年 Song. All rights reserved.
//
//  需要在桥接文件中导入
//  #import <JPUSHService.h>
//  #import <UserNotifications/UserNotifications.h>

import UIKit

class QSJPushUtil: NSObject {
    /// 注册设备令牌
    ///
    /// - Parameter token: 设备令牌
    class func qs_registerDeivceToken(_ token: Data) {
        JPUSHService.registerDeviceToken(token)
    }
    
    /// 设置别名
    ///
    /// - Parameter alias: 别名
    class func qs_setAlias(_ alias: String) {
        JPUSHService.setAlias(alias, completion: { (statusCode, alia, seq) in
        }, seq: 0)
    }
    
    /// 删除别名
    class func qs_deleteAlias() {
        JPUSHService.deleteAlias({ (statusCode, alias, seq) in
        }, seq: 0)
    }
    
    /// 设置角标
    ///
    /// - Parameter badge: 角标
    class func qs_setBadge(_ badge: Int) {
        UIApplication.shared.applicationIconBadgeNumber = badge
        JPUSHService.setBadge(badge)
    }
    
    /// 处理推送点击事件
    ///
    /// - Parameter userInfo: 推动消息内容
    class func qs_handleNotificationAction(userInfo: [AnyHashable : Any]) {
        // 取得 APNs 标准信息内容
        let aps = userInfo["aps"] as? Dictionary<String, Any>
        
        if let apsDict = aps {
            // 推送显示的内容
            let content = apsDict["alert"]
            // badge数量
            let badge = apsDict["badge"]
            // 播放的声音
            let sound = apsDict["sound"]
        }
        
        // 取得自定义字段内容
//        let customValue = userInfo["自定义的Key"] //服务端中Extras字段，key是自己定义的
    }
}
